using Circus.CodeEditor;
using Circus.CodeEditor.Serialization;
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
namespace Circus.CodeEditor.Dialogs
{
	public class ColorThemes : List<ColorTheme>,  IList<ColorTheme>, ICollection<ColorTheme>, IEnumerable<ColorTheme>, IEnumerable
	{
		private int activeThemeIndex = -1;
		public virtual int ActiveThemeIndex
		{
			get
			{
				return this.activeThemeIndex;
			}
			set
			{
				if (this.activeThemeIndex != value)
				{
					this.activeThemeIndex = value;
					this.OnActiveThemeIndexChanged();
				}
			}
		}
		public virtual ColorTheme ActiveTheme
		{
			get
			{
				return (this.activeThemeIndex >= 0) ? base[this.activeThemeIndex] : null;
			}
			set
			{
				if (base[this.activeThemeIndex] != value)
				{
					base[this.activeThemeIndex] = value;
					this.OnActiveThemeChanged();
				}
			}
		}
	
		protected virtual void OnActiveThemeIndexChanged()
		{
		}
		protected virtual void OnActiveThemeChanged()
		{
		}
	}
}
